package cn.fl.sue.voTransform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.sue.dto.SueBscInfoDTO;
import cn.fl.sue.vo.SueBscInfoVO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 诉讼信息表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class SueBscInfoVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto SueBscInfoDTO
     * @return SueBscInfoVO
     */
    public static SueBscInfoVO toVO(SueBscInfoDTO dto) {
        SueBscInfoVO vo = null;
        if (dto != null) {
            vo = new SueBscInfoVO();
            vo.setId(dto.getId());
            vo.setProcessCd(dto.getProcessCd());//诉讼进度(SUE0004)
            vo.setJudgeRstCd(dto.getJudgeRstCd());//判决结果(SUE0005)
            vo.setMediationResult(dto.getMediationResult());//调解结果(文本)  mediation_result
            vo.setCaseNo(dto.getCaseNo());//案件编号
            vo.setCourtTm(dto.getCourtTm());//开庭时间
            vo.setCourtNm(dto.getCourtNm());//管辖法院名称
            vo.setRegistTm(dto.getRegistTm());//立案时间regist_time
            vo.setJudgeTm(dto.getJudgeTm());//裁决时间
            vo.setEffectStTm(dto.getEffectStTm());//生效开始时间
            vo.setEffectEdTm(dto.getEffectEdTm());//生效结束时间
            vo.setCaseRstCd(dto.getCaseRstCd());//结案状态(SUE0006)
            vo.setSueRem(dto.getSueRem());//其他说明
            vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
            vo.setApplyId(dto.getApplyId());// 业务主键ID
            vo.setCrtUsrNm(dto.getCrtUsrNm());// 创建人名称

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人

            vo.setJudgeName(dto.getJudgeName());//庭审法官
            vo.setJudgeTel(dto.getJudgeTel());//法官手机号
            vo.setClerkName(dto.getClerkName());//书记员
            vo.setClerkTel(dto.getClerkTel());//书记员手机号
            vo.setExecJudgeName(dto.getExecJudgeName());//执行法官
            vo.setExecJudgeTel(dto.getExecJudgeTel());//执行法官手机号
        }
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo SueBscInfoVO
     * @return SueBscInfoDTO
     */
    public static SueBscInfoDTO toDTO(SueBscInfoVO vo) {
        SueBscInfoDTO dto = null;
        if (vo != null) {
            dto = new SueBscInfoDTO();
            dto.setId(vo.getId());
            dto.setProcessCd(vo.getProcessCd());//诉讼进度(SUE0004)
            dto.setJudgeRstCd(vo.getJudgeRstCd());//判决结果(SUE0005)
            dto.setMediationResult(vo.getMediationResult());//调解结果(文本)  mediation_result
            dto.setCaseNo(vo.getCaseNo());//案件编号
            dto.setCourtTm(vo.getCourtTm());//开庭时间
            dto.setCourtNm(vo.getCourtNm());//管辖法院名称
            dto.setRegistTm(vo.getRegistTm());//立案时间regist_time
            dto.setJudgeTm(vo.getJudgeTm());//裁决时间
            dto.setEffectStTm(vo.getEffectStTm());//生效开始时间
            dto.setEffectEdTm(vo.getEffectEdTm());// 生效结束时间
            dto.setCaseRstCd(vo.getCaseRstCd());//结案状态(SUE0006)
            dto.setSueRem(vo.getSueRem());//其他说明
            dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
            dto.setApplyId(vo.getApplyId());// 业务主键ID
            dto.setCrtUsrNm(vo.getCrtUsrNm());// 创建人名称

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人

            dto.setJudgeName(vo.getJudgeName());//庭审法官
            dto.setJudgeTel(vo.getJudgeTel());//庭审法官手机号
            dto.setClerkName(vo.getClerkName());//书记员名称
            dto.setClerkTel(vo.getClerkTel());//书记员手机号
            dto.setExecJudgeName(vo.getExecJudgeName());//执行法官名称
            dto.setExecJudgeTel(vo.getExecJudgeTel());//执行法官手机号
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list
     * @return List<SueBscInfoVO>
     */
    public static List<SueBscInfoVO> toVOList(List<SueBscInfoDTO> list) {
        List<SueBscInfoVO> voList = new ArrayList<SueBscInfoVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SueBscInfoDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<SueBscInfoVO>
     * @return List<SueBscInfoDTO>
     */
    public static List<SueBscInfoDTO> toDTOList(List<SueBscInfoVO> list) {
        List<SueBscInfoDTO> dtoList = new ArrayList<SueBscInfoDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SueBscInfoVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
